اعتبار سنجی ایمیل در اکسس – مانع از ورود ایمیل نادرست شوید
سلام. خوش آمدید به یکی دیگر از آموزش های اکسس 2019 در سایت سافت پلاس . امروز می خواهیم بطور مشخص در مورد ایمیل و اعتبار سنجی ایمیل ها در اکسس با هم صحبت کنیم .
با اعتبار سنجی در اکسس که آشنا هستی . بنظرم یکی از قابلیت های جالب اکسس همین بحث اعتبار سنجی داده ها در آن است .
فکرش را بکن وقتی که کاربر اطلاعاتی را در داخل برنامه اکسسی که شما برایش طراحی کرده ای .ارد می کند . ولی هنوز کاربر هیچ حرکت دیگری نکرده بلافاصله برنامه به او اعلام می کند که اطلاعاتی که وارد کرده معتبر نیست .
اینجا یک جورهایی یک میدان جنگ است . یک طرف کاربری است که می خواهد زرنگی و زبل بازی در آورد و از طرف دیگر شمایی هستی که باید مهارت و استادی خودت را در کار با اکسس به نمایش بگذاری .
دقیقا یکی از جاها و یکی از کارهایی که می توانی به کمک آن توانایی و مهارت خودت را نشان دهی ، همین قضیه اعتبار سنجی داده ها در اکسس است .
مثلا فرض کن که کاربر یک عدد 10 رقمی را به عنوان کد ملی وارد کرده است . حالا با استفاده از یک سری از کارهایی که برای اکسس تعریف کرده ای اکسس بلافاصله متوجه می شود که این عدد ده رقمی یک عدد من درآوردی است و اصلا چنین کد ملی نمی تواند وجود داشته باشد .
می پرسی چه طوری می شود این کار را کرد ؟
سری به لینک زیر بزن تا متوجه شوی که چطور می شود این کار را انجام داد .
مطلب مرتبط : چطور کد ملی واقعی از تقلبی را شناسایی کنیم ؟
اعتبار سنجی داده ها را چه جور باید انجام دهی ؟
برای این کار راههای مختلفی وجود دارد .
اول اینکه می توانی از ابزاری به اسم validation Rule در اکسس استفاده کنی .
دوم اینکه می توانی از برنامه نویسی وی بی ای برای این کار استفاده کنی .
من قبلا در این سایت خیلی مطلب در خصوص ولیدیشن رول و نحوه کار با آن را قرار داده ام . اما در اینجا لینک یکی از مهمترین آنها را برایت می گذارم .
مطلب مرتبط : اعتبار سنجی داده ها در اکسس از صفر تا صد
توصیه می کنم که حتما قبل از مطالعه مطلب امروز سری به لینک زیر بزنی و با مبحث اعتبار سنجی داده ها در اکسس بخوبی آشنا شوی .
اما در آموزش امروز می خواهیم مشخصا راجع به چه چیزی با هم صحبت کنیم .
امروز می خواهیم با هم یاد بگیریم که چه طور می شود یک آدرس ایمیل را توسط اکسس اعتبار سنجی کنیم تا مطمئن شویم که کاربر ایمیل خودش را به درستی در اختیار برنامه ما قرار می دهد .
خود این به روش های مختلفی انجام می شود .
اول روشی است که اصلا نیازی به اعتبار سنجی ندارد . در این روش از همان اول خاطرت جمع است که کاربر اصلا نمی تواند آدرس ایمیل را اشتباهی وارد کند .
این روش استفاده از قابلیتی است به اسم input mask در اکسس ، که راجع به آن در ادامه صحبت خواهیم کرد .
روش دوم استفاده از قابلیت Validation Rule در اکسس است .
روش سوم هم استفاده از برنامه نویسی و کدهای وی بی ای است .
در این آموزش با هم هر سه تای این روش ها را بررسی خواهیم کرد .
پس از شما دعوت می کنم که تا انتهای این آموزش من را همراهی کنید .
روش اول برای اعتبار سنجی ایمیل در اکسس ، علاج واقعه پیش از وقوع
روش اولی که می خواهیم از آن برای اعتبار سنجی داده ها استفاده کنیم ، قابلیت و امکانی است به اسم اینپوت ماسک در اکسس .
راجع به اینکه اینپوت ماسک چی هست و چه کاربردی دارد در مطالب قبلی مفصل صحبت کرده ایم . حالا مستقیم به سراغ این قابلیت رفته و از آن استفاده خواهیم کرد . اما چه استفاده ای ؟
می خواهیم با استفاده از input mask یک ساختار و قالب استانداردی را برای کاربر تعریف کنیم که فقط در همان قالب و همان ساختار بتواند کد ملی خود را وارد نماید .
اما چطوری ؟
1- اول جدول را به محیط طراحی برده و فیلدی را که قرار است در جدول کد ملی را دریافت کند انتخاب می کنیم .
2- در قسمت پایین از جدول یعنی در بخش Field Properties به سراغ آیتم Input mask رفته و عبارت زیر را در جلوی آن درج کنید .
aaaaaaaaaa"@ gmail.com"
شاید از خودتان بپرسید که چرا در این ساختار از حرف a آن هم برای چندین و چند بار استفاده کرده ایم ؟
خوب برای اینکه فلسفه این کار را بدانید باید با قابلیتی به اسم Input mask در اکسس آشنا شوید . برای این کار می توانید به سراغ مطلبی با عنوان آشنایی با قایلبت Input mask در اکسس بروید .
اما خوب این عبارت چیزی نیست که همه نیاز ما را برای اعتبار سنجی ایمیل در اکسس فراهم کند بنابراین بیایید کمی این عبارت را تکمیل تر کنیم .
استفاده از قابلیت اعتبار سنجی ایمیل
حالا عبارت زیر را در نظر بگیرید .
Is Null OR ((Like "?@?.?") AND (Not Like "[ ,;]*"))
به کمک این عبارت همه چیزهایی که باید در ساختار یک آدرس ایمیل وجود داشته باشد را کنترل می کنیم .
اما این یک اینپوت ماسک نیست بلکه یک عبار اعتبار سنجی است بنابراین نمی توان از آن در قسمت Input mask استفاده کرد .
پس محل استفاده از آن کجاست ؟
برای استفاده از این عبارت باید آن را در کادر مربوط به Validation Rule درج کنیم .
در ادامه می توانیم یک پیغام مناسب را هم برای کاربر تنظیم کنیم تا در صورت ورود ایمیل نادرست به کاربر اطلاع رسانی شود .
استفاده از برنامه نویسی VBA برای اعتبار سنجی ایمیل
روش های قبلی می تواند تا حدودی نیاز های ما را براورده کند اما به هر حال دارای محدودیت هایی هستند . اگر می خواهید بطور حرفه ای به کار اعتبار سنجی ایمیل بپردازید باید به سراغ استفاده از برنامه نویسی وی بی ای بروید .
بهترین کار این است که برای خودتان یک تابع بنویسید که به کمک آن به راحتی بتوانید آدرس ایمیل را در هر جایی که توسط کاربر وارد می شود را کنترل کنید . برای این کار با من مراحل زیر را دنبال کنید .
اول به محیط کد نویسی بروید .
برای این کار راحت ترین روش استفاده از کلیدهای میانبر ALT +F11 است با این کار به محیط برنامه نویسی هدایت خواهید شد .
یک ماژول بسازید
برای این کار از منوی insert روی گزینه ای به اسم module کلیک کنید . با این کار یک صفحه کاری جدید برای شما نمایش داده می شود . این همان ماژولی است که می خواهیم در داخل آن کد نویسی کنیم و یک تابع را در داخل آن ایجاد کنیم .
حالا یک تابع در داخل این مازول بسازید
ساختن و ایجاد کردن یک تابع اصلا کار سختی نیست . فقط کافی است که عبارت زیر را در داخل ماژول خود بنویسید .
public Function emailvalidat(stremail as string) as string
end Function
به همین راحتی شما یک تابع را در داخل این ماژول ایجاد کردید . حالا در داخل این ماژول شروع به کد نویسی می کنیم .
حالا شروع به کد نویسی کنید
اول بیایید کنترل کنیم که کاربر حتما فیلد مربوط به ایمیل را برای ما تکمیل کند . برای این کار کدهای زیر را در تابع خود وارد کنید .
public Function emailvalidat(stremail as string) as string
rem الزام به وارد کردن آدرس ایمیل
If (Len(stremail) = 0) Then
MsgBox "وارد کردن ایمیل الزامی است"
stremail = False
Exit Function
End If
end Function
با استفاده از این کدها می توانیم مطمئن شویم که کاربر به هیچ عنوان فیلد آدرس ایمیل را خالی نمی گذارد .
آیا از علامت @ در آدرس ایمیل استفاده شده ؟
با استفاده از این کدها می توانیم مطمئن شویم که کاربر به هیچ عنوان فیلد آدرس ایمیل را خالی نمی گذارد .
یکی از مشخصه های آدرس ایمیل این است که در ساختار آن حتما باید از کاراکتر @ استفاده شده باشد .
در ادامه کدهایی را می نویسیم که این کار را برای ما انجام دهد .
public Function emailvalidat(stremail as string) as string
rem الزام به وارد کردن آدرس ایمیل
If (Len(stremail) = 0) Then
MsgBox "وارد کردن ایمیل الزامی است"
stremail = False
Exit Function
End If
end Function
rem آیا کاراکتر @ وجود دارد ؟
If (InStr(1, stremail, "@") = 0) Then
MsgBox "کاراکتر '@' در ساختار آدرس شما وجود ندارد ."
stremail = False
Exit Function
End If
در کدهای بالا از خط 16 به بعد کنترل می شود که آیا در ساختار آدرس ایمیل وارد شده از علامت @ استفاده شده است یا نه .
آیا علامت دات یا همان نقطه وجود دارد ؟
مورد بعدی که حتما در ساختار آدرس ایمیل ما باید وجود داشته باشد علامت dot یا همان نقطه است برای اینکه از وجود این علامت هم مطمئن شویم می توانیم کدهای زیر را به مجموعه کدهای خود اضافه کنیم .
If (InStr(1, stremail, ".") = 0) Then
msgbox = "در ساختار ایمیل شما از علامت " . " استفاده نشده است "
stremail = False
End If
آیا بین علامت دات و @ مقداری وارد شده است ؟
همانطور که می دانیم ما برای اینکه بتوانیم یک ایمیل را ارسال کنیم نیاز به این داریم که از یک سرویس دهنده ایمیل استفاده کنیم .
این سرویس دهنده می تواند هر سایت یا شرکتی باشد . مثل همین شرکت گوگل که سرویس جیمیل را ارائه می دهد .
حالا ما می خواهیم مطمئن شویم که کاربر اطلاعات مربوط به سرویس دهنده را برای ما وارد کرده است . نام سرویس دهنده ایمیل چیزی است که مابین دو تا کاراکتر دات و علامت @ قرار می گیرد .
برای کنترل این قضیه از کدهای زیر استفاده می کنیم .
If (InStr(1, stremail, "@.") > 0) Then
msgbox = "نام ارائه دهنده ایمیل را وارد کنید "
stremail = False
End If
آیا قبل از علامت @ مقداری وارد شده است ؟
آخرین موردی که می خواهیم کنترل کنیم این است که آیا کاربر ما قبل از علامت @ مقداری را وارد کرده یا نه ؟
برای این کار از کدهای زیر کمک می گیریم .
If (InStr(1, stremail, "@.") =1) Then
msgbox = "شما باید قبل از علامت @مقداری را وارد کنید "
stremail = False
End If
تا به اینجا تمامی مواردی را که نیاز است به کمک انها یک آدرس ایمیل را بررسی و اعتبار سنجی کنیم را بررسی کردیم .
همه موارد را در ساختار کدهای وی بی ای و در قالب یک تابع نوشتیم .
حالا تنها کاری که باید انجام دهیم این است که هر جا لازم بود این تابع را فراخوانی و از کدهای آن استفاده کنیم .
برای اینکه بدانید چطور می شود این کار را کرد می توانید از ویدئوی زیر استفاده کنید .
مطالب زیر را حتما مطالعه کنید
By val و By ref | دو اصطلاحی که باید کار با آنها را یاد بگیرید .
با این کدهای VBA محدوده ها را در اکسل مدیریت کنید+ویدئو
SQL Server سوالاتی که همه در موردش می پرسند ؟
ردیابی تغییرات در فایل اکسل|نکته های کاربردی
مخفی کردن فرمول ها در اکسل؛ چرا و چطور این کار را انجام دهیم؟
مخفی کردن فرمول ها در اکسل با استفاده از روش های مختلف چیزی است که در این مطلب راجع به اون با هم صحبت می کنیم .
چه جوری از اطلاعات خودمان در اکسل محافظت کنیم ؟
توی این آموزش با هم روش های مختلف حفاظت از فایل های اکسل را یاد می گیریم .
دیدگاهتان را بنویسید